package com.ssm.dao;

import java.util.List;
import java.util.Map;

import com.ssm.bean.StockRecord;

/**
 * @author ZhaoXianming
 * @Description 
 * @date 2020年3月18日
 */
public interface StockRecordQueryMapper {

	/**
	 * @Description 查询出入库记录总数
	 * @param stockRecord
	 * @return int
	 */
	int queryInOutStockCnt(StockRecord stockRecord);
	
	/**
	 * @Description 查询出入库记录
	 * @param param
	 * @return List<StockRecord>
	 */
	List<StockRecord> queryInOutStockByParam(Map<String,Object> param);
	
	/**
	 * @Description 处理入库引入的出库记录
	 *  void
	 */
	void dealInstockRecord();
	
	/**
	 * @Description 入库读写器返回数据进行入库
	 * @param param void
	 */
	void insertInstockByRFID(Map<String,String> param);
	
	/**
	 * @Description 出库读写器返回数据进行出库
	 * @param param void
	 */
	void insertOutstockByRFID(Map<String,String> param);
	
	/**
	 * 方案变更为：
	 * 入库读写器安装在仓库里面，出库读写器安装在仓库外面；
	 * ①出库读写器读到数据查询库存记录是否存在该标签绑定的物料，如果没有不插入出库记录否则插入出库记录且删除该物料的库存记录
	 * ②入库读写器读到数据查询库存记录是否存在该标签绑定的物料，如果不存在则插入入库记录且插入该物料的库存记录
	 * 
	 */
	void insertMaterialByInstockRFID(Map<String,String> param);
	
	void outMaterialByOutstockRFID(Map<String,String> param);
	
	/**
	 * @Description查询库存记录总数
	 * @param param
	 * @return int
	 */
	public int queryStockRecordCnt(StockRecord stockRecord);
	
	/**
	 * @Description查询库存记录详情
	 * @param param
	 * @return List<StockRecord>
	 */
	public List<StockRecord>queryStockRecordByParam(Map<String,Object> params);
	
	/**
	 * @Description 1秒查询一次，如果有新记录则刷新页面
	 * @return int
	 */
	public int isrefreshedJsp();
}
